package com.bytz.modules.cms.order.model;

import com.alibaba.excel.annotation.ExcelProperty;
import com.bytz.common.aspect.annotation.Dict;
import com.bytz.modules.cms.common.excel.ExcelDictConvert;
import io.swagger.annotations.ApiModelProperty;
import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.Setter;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;

@Getter
@Setter
@EqualsAndHashCode
public class OrderOfflinePayExcelVo implements Serializable {

    private static final long serialVersionUID = 1L;


    @ExcelProperty("序号")
    private int sequence;
//
//    @Dict(dicCode = "order_offlinePay_type")
//    @ApiModelProperty(value = "汇票类别（1-正常；2-冲销）")
//    private String type;
//
//    @ApiModelProperty(value = "关联父ID")
//    private String parentId;
//
//    @ApiModelProperty(value = "经销商ID")
//    private String resellerId;
//


    @ExcelProperty("汇款名称")
    @ApiModelProperty(value = "汇款名称")
    private String remitName;

    @ExcelProperty("汇款单号")
    @ApiModelProperty(value = "汇款单号")
    private String remitNumber;

    @ExcelProperty("汇款金额")
    @ApiModelProperty(value = "汇款金额（可能会有正负成对的汇款单，用于退款）")
    private BigDecimal remitAmount;

    @ApiModelProperty(value = "汇票余额")
    @ExcelProperty("汇票余额")
    private BigDecimal remainAmount;

    @ExcelProperty("经销商名称")
    @ApiModelProperty(value = "经销商名称")
    private String resellerName;

    @Dict(dicCode = "order_offlinePay_status")
    @ApiModelProperty(value = "状态(1-已启用,2-已停用)")
    @ExcelProperty(value = "状态", converter = ExcelDictConvert.class)
    private String status;

    @ExcelProperty("生效时间")
    @ApiModelProperty(value = "生效时间")
    private LocalDateTime effectTime;


    @ExcelProperty("备注")
    @ApiModelProperty(value = "备注")
    private String remark;

//    @ApiModelProperty(value = "附件")
//    private String attachment;
//
//    @ApiModelProperty(value = "删除状态")
//    @TableLogic
//    private Integer delFlag;
//
//    @ApiModelProperty(value = "创建人")
//    private String createBy;
//
//    @ApiModelProperty(value = "创建人姓名")
//    private String createByName;
//
//    @ApiModelProperty(value = "创建时间")
//    private LocalDateTime createTime;
//
//    @ApiModelProperty(value = "更新人")
//    private String updateBy;
//
//    @ApiModelProperty(value = "更新人姓名")
//    private String updateByName;
//
//    @ApiModelProperty(value = "更新时间")
//    private LocalDateTime updateTime;

}